package com.ljx.recruitment.interview.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ljx.recruitment.common.domain.vo.resp.PageResp;
import com.ljx.recruitment.interview.domain.entity.Job;
import com.ljx.recruitment.interview.domain.vo.req.JobPageReq;
import com.ljx.recruitment.interview.domain.vo.req.JobProcessSubmitReq;
import com.ljx.recruitment.interview.domain.vo.req.JobSubmitReq;
import com.ljx.recruitment.interview.domain.vo.req.JobTypeSubmitReq;
import com.ljx.recruitment.interview.domain.vo.resp.*;
import com.ljx.recruitment.user.domain.vo.resp.UserResp;

import java.util.List;

public interface JobService extends IService<Job> {
    JobResp submit(JobSubmitReq req);

    PageResp<JobResp> getPage(JobPageReq req);

    JobResp getInfo(Long jobId);

    PageResp<Job> getPageByAdmin(JobPageReq req);

    List<Integer> getFilterYearList();

    List<UserResp> getJobOfferList(Long jobId);

    List<JobProcessTreeResp> getJobProcessTreeList(Long jobId);

    void submitProcess(JobProcessSubmitReq req);

    Integer getTenantJobCount(Long tenantId);

    List<DashboardJobCategoryResp> getTenantJobCategory(Long tenantId);

    JobHomeShowResp getHomeJobShow();
}
